1. Field of the Invention
The present invention relates generally to mobile communication devices. Particular aspects of the invention relate to a script based user interface for a mobile phone, a method of transferring information between mobile communication devices, and a real-time user interface for communication between different mobile communication devices.
2. Discussion of the Related Art
Mobile phones have been growing rapidly in computing power and can now perform many functions in addition to voice telephony. These functions include, for example, a phonebook, calendar, alarm clock and calculator. Modern mobile phones have also become more personalized. For example, owners can select features, ringing tones and menu layout. They can also access remote data services, such as banking, stock quotes and weather forecasts, with Short Messaging Service (SMS) and Wireless Application Protocol (WAP).
The main feature of SMS smart messages is their ability to allow easy access to remote SMS services. But they also allow the user to configure some functions on their phones. For example, they can be used to download ringing tones and service menus from SMS servers. Unfortunately, they don't allow access to all of the phone functionality and users can only perform limited tasks with smart SMS messages.
A particular shortcoming of SMS messages is that they do not eliminate the need to develop a User Interface (UI) in a low-level language. Unlike personal computers, mobile phones typically have unique internal technology and associated tools for generating user interfaces in a somewhat automated manner. For an example of a conventional low-level user interface, see GUI 18b in U.S. Pat. No. 5,790,974. Some mobile phone technologies may have pre-compiled graphical user interfaces, thus allowing only limited personalization options. Furthermore, although software applications in the personal computer environment use HTML and JavaScript for user interfaces accessed through a browser, the software available for user interfaces in a mobile phone can sometimes be written in a relatively uncommon language and programmers may have difficulty working with that language.
Consequently, even though a user interface for a mobile phone may be relatively simple, developing a user interface for each new function in the phone requires many resources and a great deal of work, since it involves low level programming and is a real-time system. Customizing the phone user interface for personal preferences is almost impossible. It is limited to certain functions, and depends on the phone's internal architecture.
One attempted solution to these problems is MExE developed by ETSI's Special Mobile Group (SMG) 4: Data Services as an “advanced platform for terminal based telecommunication services”. At the core of MexE is a Java Virtual Machine running on the mobile device. Functionality is achieved by Java applications that are either resident on, or downloaded to, the mobile device. MExE is designed as a full application execution environment and also supports phone features, like call control and SIM access. MExE also uses WAP's WTAI to access the phone's telecommunication functions, like call control, SMS and battery status. However, MExE is not feasible for many phones because it requires a great deal of processing power and memory.
There are also difficulties with current methods of transferring data between mobile devices, such as infrared (IR) and Bluetooth, that have underlying protocols which define standard ways to transfer the data. These methods do not define a protocol that works at the uppermost data layer and is understood by both devices. While data files can be transferred between mobile devices via Bluetooth, no standardized way exists to transfer real time information from one mobile device to another mobile device which is the same or different than the first mobile device.